package vip.xiaonuo.smzq.modular.lifecycle.service.module;


import cn.hutool.core.lang.tree.TreeNode;
import vip.xiaonuo.smzq.modular.kcl.entity.vo.Zlxqcx;
import vip.xiaonuo.smzq.modular.lifecycle.entity.KclCb08Xzqh;
import vip.xiaonuo.smzq.modular.lifecycle.entity.KclKs;
import vip.xiaonuo.smzq.modular.lifecycle.entity.LifeCycleMineStore;
import vip.xiaonuo.smzq.modular.lifecycle.po.*;
import vip.xiaonuo.smzq.modular.lifecycle.po.datamanager.SaveLCNodePO;
import vip.xiaonuo.smzq.modular.lifecycle.result.WebResult;
import vip.xiaonuo.smzq.modular.lifecycle.vo.*;

import java.util.List;

/**
 * <ul>
 * <li>name:  LifeCycleHanderService</li>
 * <li>author name: GEOSCENE_YUYANFEI</li>
 * <li>create time: 2024-04-22 09:50:43</li>
 * </ul>
 */
public interface LifeCycleHanderDataService {

    /**
     * 保存生命周期数据
     * @return true/false
     */
    boolean saveLifeCycleData(List<Zlxqcx> zlxqcxList);

    /**
     * 当审批完以后保存族谱信息，并更新储量值
     * @param savePedigeePO 保存族谱参数类
     * @return
     */
    boolean savePedigeeWhenApproveed(SavePedigeePO savePedigeePO);

    /**
     * 保存生命周期节点
     * @param pafPushPO 评审备案推送类
     * @return
     */
    WebResult saveLcNode(PAFPushPO pafPushPO);

    /**
     * 初始化族谱数据
     * @param saveLCNodePO
     */
    void initPedList(SaveLCNodePO saveLCNodePO);


    /**
     * 生命周期节点id
     * @param lifeCycleMineStore 生命周期节点实体
     * @return
     */
    boolean saveCycleLifeMineralMea(LifeCycleMineStore lifeCycleMineStore);
}

